package cn.com.huzo.service.trade;

import cn.com.huzo.model.entities.trade.ProductionInstructionLinesDestinationEntity;
import huzofw.service.GenericManager;
import java.util.List;
import java.util.Map;

/**
 * 生产指示书明细-发货目的地数据管理服务对象接口
 *
 * @author 吴旭
 */
public interface ProductionInstructionLinesDestinationManager extends
        GenericManager<ProductionInstructionLinesDestinationEntity, String> {

    /**
     * 取得该生产指示书的发货地明细数据列表
     *
     * @param headerId 生产指示书ID
     * @return 该生产指示书的发货地明细数据列表
     * @throws java.lang.Exception
     */
    List<ProductionInstructionLinesDestinationEntity> fetchByHeaderId(Long headerId) throws Exception;

    /**
     * 新增或更新
     *
     * @param criterion
     * @return
     * @throws Exception
     */
    Map<String, Object> save(Map<String, ? extends List<ProductionInstructionLinesDestinationEntity>> criterion) throws Exception;

    /**
     * 更新发货地排列顺序。
     *
     * @param itemList 数据列表
     * @return 更新顺序后的生产指示书表明细等
     * @throws java.lang.Exception
     */
    Map<String, Object> updateDestinationOrder(List<ProductionInstructionLinesDestinationEntity> itemList) throws Exception;
}
